Copper transmission link technologies such as xDSL are providing, as of today, access broadband services to 286 million subscribers worldwide. Different generations of DSL technology such as ADSL, ADSL2(+), VDSL and VDLS2 provide data rates in the range from several Mb/s up to 100 Mb/s over ranges from 1 km to 8 km. Recently, the need for Gigabit speeds on telephone-grade copper has arisen for broadband access, home networking, as well as 4G mobile network backhaul, such as e.g. LTE S1/X2 interface backhaul.
New generations of DSL-like system can provide this capacity on very short lines/loops in the area of 50-200 meters. Such loops provide 100 to 200 MHz of bandwidth for data transmission, as compared to earlier maximum bandwidths of about 30 MHz for legacy systems. Unlike classical DSL systems transmitting uplink and downstream data in different bands of the copper in a frequency-division duplexing scheme (FDD), Gigabit DSL utilizes more hardware-friendly time-division-duplexing (TDD), where upstream and downstream data is utilizing the whole copper spectrum in a time-shared manner—i.e. the transceiver either transmits or receives at a given point in time
Block transmission using the Fast Fourier Transform (FFT) and its inverse, IFFT, for modulation and demodulation, respectively, is the dominating modulation scheme in today's communication systems. This modulating scheme is often referred to as multicarrier modulation. One of the two most important variants of multicarrier modulation is passband transmission using complex-valued transmit/receive signals, which is referred to as orthogonal frequency division multiplexing (OFDM). OFDM is used, for example, in wireless communication systems, such as LTE. The second one is baseband transmission using real-valued transmit/receive signals, which is referred to as DMT. DMT is used, for example, in wireline communication systems, such as xDSL systems using e.g. copper cables.
An FFT is an efficient method to compute a discrete Fourier transform Xk of xn given byXk=cFFTΣnxnexp(−j2πkn/N)where cFFT is a scaling factor.
An IFFT is an efficient method to compute an inverse discrete Fourier transform xn of Xk given byxn=cIFFT>ΣkXkexp(j2πkn/N)where cIFFT is a scaling factor.
A typical choice is cFFT=1 in combination with cIFFT=1/N; many mathematical computation packages like, for example, MATLAB, use this pair. Another typical choice is cFFT=N−1/2 in combination with cIFFT=N−1/2, which preserves the average per-block power before and after the transform. However, other choices are possible. In an actual implementation, cFFT and cIFFT can for example be influenced by the number representation scheme and/or the required precision for numerical representation, or can also include other scaling factors stemming form one or more blocks in the transceiver chain.
The terms “discrete Fourier transform” and “FFT” used hereinafter refer to transforms with an arbitrary scaling value cFFT. The terms “inverse discrete Fourier transform” and “IFFT” used hereinafter refer to transforms with an arbitrary scaling value cIFFT. For the exemplifying description used hereinafter, the factors cFFT=1 and cIFFT=1/N are used. The described method and device, however, can be used with any values for cFFT and cIFFT.
Simultaneous transmission and reception of signals requires a scheme for separating the two signals. Separation in time, also referred to as TDD, is a suitable method for low-complexity, and thus low-cost, transceiver implementations. The cost can be kept low, e.g. since there is a reduced need for echo cancellation when using TDD, as compared to when using frequency division. Examples of TDD communication systems include e.g. transmission over any kind of copper transmission media, such as twisted pair, CAT5, etc. TDD systems may be used for various applications providing various services, such as e.g. Internet access and base-station backhaul. The communication may be, and is being, standardized in different variants, such as G.fast and G.hn, but may also be used in different non-standardized forms.
Discrete Fourier transform based baseband communication systems require access to equipment suitable for performing FFT and IFFT. While direct implementation of an N-point discrete Fourier transform sum requires N2 significant operations, dedicated FFT algorithms have a complexity in the order of N log N significant operations. Exact numbers are strongly dependent on the actual implementation. From a hardware-implementation perspective, there are two fundamentally different architectures for FFT/IFFT implementation, which are also illustrated in FIG. 1 and FIG. 2:                1. Pipelined input/output (I/O): also denoted “streaming I/O”. Implementing the FFT algorithm in a pipeline fashion allows continuous operation where input and output samples of blocks continuously enter and leave the FFT providing unit one by one at a clock frequency, which equals the block frequency divided by the block length in samples. Thus, it takes one block length to clock in (or clock out) an entire block, as illustrated in FIG. 1. Pipelined architectures are costly in terms of logic and memory but allow continuous transformation of blocks without gaps.        2. Burst I/O: Both input blocks and output blocks are buffered before (load) and after (unload) the actual transform, respectively. Loading and unloading of buffers can be done simultaneously, as illustrated in FIG. 2. Burst I/O FFTs are cheap in terms of logic and memory, but require gaps, 202, of one block length between transforms for loading/unloading the buffers.        
For systems with long blocks, for example, emerging wireline standards proposed values for N in the order of 104, FFT/IFFT processing dominates complexity in multicarrier transceivers. In state of the art architectures, the FFT block in a transceiver device supports streaming I/O capability in order to be able to perform a transform in any symbol period. The streaming I/O FFT block is very expensive in terms of hardware resources.